// dp 最简单的实现可以用递归
// 抄写
const products = [
    {id: 1, v: 60, w: 10},
    {id: 2, v: 100, w: 20},
    {id: 3, v: 120, w: 30}
];  

function backpack01(n, W, products) {
    if (n < 0 || W <= 0) {
        return 0;
    }
    // 最后一件商品不放 递归
    const noLast = backpack01(n-1, W, products);
    let getLast = 0;
    // 最后商品单品的重量要小于W
    if (W >= products[n].w) { // 最后商品一定要， 
        getLast = products[n].v + 
            backpack01(n-1, W - products[n].w, products)
    }
    const result = Math.max(noLast, getLast);
    return result;
}

const result = backpack01(products.length - 1, 50, products);
console.log(result, '-------------');